In a conventional video encoder, a mode decision module and a motion estimation module use a same pixel interpolation scheme as a motion compensation module to ensure that all modules operate synchronously. Several long interpolation filters have been adopted in the recent International Organization for Standardization (ISO) Moving Picture Experts Group (MPEG) Standards and International Telecommunications Union-Telecommunications Standardization Sector (ITU-T) H.26x standards for aliasing reduction. The use of long filters result in significant increases for memory storage and computational complexity.
The recent ISO MPEG standards and ITU H.26x standards adopt finer motion resolution than previous half-pel motion vectors to reduce prediction errors and to achieve better coding performance. Unlike MPEG-2 or H.263, MPEG-4 and H.264 (MPEG-4 AVC) use 8-tap or 6-tap Wiener interpolation filters to get more than 1 dB gain using motion vectors of quarter-pel resolution and to reduce aliasing effects. For the half-pel interpolation, the long Wiener filter can provide better low pass characteristics than a bilinear filter with reduced aliasing effects of the interpolated frame. Although the coding efficiency is enhanced by the longer filters, the operational complexity increases with the number of filter taps.
To balance the performance and the computational complexity, some conventional solutions modify the motion compensation using fewer taps of an interpolation filter. A conventional proposed approach uses a 4-tap interpolation filter for motion compensation to trade reduced memory accesses for minor drifting errors. To adaptively adjust memory usage for motion compensation, another proposed approach uses three different types of interpolation filters (i.e., 2-tap, 4-tap and 6-tap) according to the frame and macroblock coding type. When B-frame or smaller blocks are used, the 2-tap or the 4-tap filter is applied to reduce the memory overhead in the interpolation process. Although the memory bandwidth is reduced, the reconstructed frame will result in mismatches between the encoder and decoder. As such, the longer the intra frame period runs, the greater the degree of mismatch propagation.